9 research outputs found

    Statically Checking Web API Requests in JavaScript

    Full text link
    Many JavaScript applications perform HTTP requests to web APIs, relying on the request URL, HTTP method, and request data to be constructed correctly by string operations. Traditional compile-time error checking, such as calling a non-existent method in Java, are not available for checking whether such requests comply with the requirements of a web API. In this paper, we propose an approach to statically check web API requests in JavaScript. Our approach first extracts a request's URL string, HTTP method, and the corresponding request data using an inter-procedural string analysis, and then checks whether the request conforms to given web API specifications. We evaluated our approach by checking whether web API requests in JavaScript files mined from GitHub are consistent or inconsistent with publicly available API specifications. From the 6575 requests in scope, our approach determined whether the request's URL and HTTP method was consistent or inconsistent with web API specifications with a precision of 96.0%. Our approach also correctly determined whether extracted request data was consistent or inconsistent with the data requirements with a precision of 87.9% for payload data and 99.9% for query data. In a systematic analysis of the inconsistent cases, we found that many of them were due to errors in the client code. The here proposed checker can be integrated with code editors or with continuous integration tools to warn programmers about code containing potentially erroneous requests.Comment: International Conference on Software Engineering, 201

    Opportunities in Software Engineering Research for Web API Consumption

    Full text link
    Nowadays, invoking third party code increasingly involves calling web services via their web APIs, as opposed to the more traditional scenario of downloading a library and invoking the library's API. However, there are also new challenges for developers calling these web APIs. In this paper, we highlight a broad set of these challenges and argue for resulting opportunities for software engineering research to support developers in consuming web APIs. We outline two specific research threads in this context: (1) web API specification curation, which enables us to know the signatures of web APIs, and (2) static analysis that is capable of extracting URLs, HTTP methods etc. of web API calls. Furthermore, we present new work on how we combine (1) and (2) to provide IDE support for application developers consuming web APIs. As web APIs are used broadly, research in supporting the consumption of web APIs offers exciting opportunities.Comment: Erik Wittern and Annie Ying are both first author

    A Principled Approach to GraphQL Query Cost Analysis

    Get PDF
    International audienceThe landscape of web APIs is evolving to meet new client requirements and to facilitate how providers fulfill them. A recent web API model is GraphQL, which is both a query language and a runtime. Using GraphQL, client queries express the data they want to retrieve or mutate, and servers respond with exactly those data or changes. GraphQL's expressiveness is risky for service providers because clients can succinctly request stupendous amounts of data, and responding to overly complex queries can be costly or disrupt service availability. Recent empirical work has shown that many service providers are at risk. Using traditional API management methods is not sufficient, and practitioners lack principled means of estimating and measuring the cost of the GraphQL queries they receive. In this work, we present a linear-time GraphQL query analysis that can measure the cost of a query without executing it. Our approach can be applied in a separate API management layer and used with arbitrary GraphQL backends. In contrast to existing static approaches, our analysis supports common GraphQL conventions that affect query cost, and our analysis is provably correct based on our formal specification of GraphQL semantics. We demonstrate the potential of our approach using a novel GraphQL query-response corpus for two commercial GraphQL APIs. Our query analysis consistently obtains upper cost bounds, tight enough relative to the true response sizes to be actionable for service providers. In contrast, existing static GraphQL query analyses exhibit over-estimates and under-estimates because they fail to support GraphQL conventions

    CrisisTracker: crowdsourced social media curation for disaster awareness

    No full text
    Victims, volunteers, and relief organizations are increasingly using social media to report and act on large-scale events, as witnessed in the extensive coverage of the 2010-2012 Arab Spring uprisings and 2011 Japanese tsunami and nuclear disasters. Twitter® feeds consist of short messages, often in a nonstandard local language, requiring novel techniques to extract relevant situation awareness data. Existing approaches to mining social media are aimed at searching for specific information, or identifying aggregate trends, rather than providing narratives. We present CrisisTracker, an online system that in real time efficiently captures distributed situation awareness reports based on social media activity during large-scale events, such as natural disasters. CrisisTracker automatically tracks sets of keywords on Twitter and constructs stories by clustering related tweets on the basis of their lexical similarity. It integrates crowdsourcing techniques, enabling users to verify and analyze stories. We report our experiences from an 8-day CrisisTracker pilot deployment during 2012 focused on the Syrian civil war, which processed, on average, 446,000 tweets daily and reduced them to consumable stories through analytics and crowdsourcing. We discuss the effectiveness of CrisisTracker based on the usage and feedback from 48 domain experts and volunteer curators. © 1957-2012 IBM

    Contribution to the discussion of paper read to the Royal Statistical Society: O. Barndorff-Nielsen, N. Shepperd. "Non-Gaussian Ornstein-Uhlenbeck-based models and some of their uses in financial economics"

    Get PDF
    Non-Gaussian processes of Ornstein–Uhlenbeck (OU) type offer the possibility of capturing important distributional deviations from Gaussianity and for flexible modelling of dependence structures. This paper develops this potential, drawing on and extending powerful results from probability theory for applications in statistical analysis. Their power is illustrated by a sustained application of OU processes within the context of finance and econometrics. We construct continuous time stochastic volatility models for financial assets where the volatility processes are superpositions of positive OU processes, and we study these models in relation to financial data and theory

    Vertebral endplate signal changes (Modic change): a systematic literature review of prevalence and association with non-specific low back pain

    No full text
    The prevalence of “vertebral endplate signal changes” (VESC) and its association with low back pain (LBP) varies greatly between studies. This wide range in reported prevalence rates and associations with LBP could be explained by differences in the definitions of VESC, LBP, or study sample. The objectives of this systematic critical review were to investigate the current literature in relation to the prevalence of VESC (including Modic changes) and the association with non-specific low back pain (LBP). The MEDLINE, EMBASE, and SveMED databases were searched for the period 1984 to November 2007. Included were the articles that reported the prevalence of VESC in non-LBP, general, working, and clinical populations. Included were also articles that investigated the association between VESC and LBP. Articles on specific LBP conditions were excluded. A checklist including items related to the research questions and overall quality of the articles was used for data collection and quality assessment. The reported prevalence rates were studied in relation to mean age, gender, study sample, year of publication, country of study, and quality score. To estimate the association between VESC and LBP, 2 × 2 tables were created to calculate the exact odds ratio (OR) with 95% confidence intervals. Eighty-two study samples from 77 original articles were identified and included in the analysis. The median of the reported prevalence rates for any type of VESC was 43% in patients with non-specific LBP and/or sciatica and 6% in non-clinical populations. The prevalence was positively associated with age and was negatively associated with the overall quality of the studies. A positive association between VESC and non-specific LBP was found in seven of ten studies from the general, working, and clinical populations with ORs from 2.0 to 19.9. This systematic review shows that VESC is a common MRI-finding in patients with non-specific LBP and is associated with pain. However, it should be noted that VESC may be present in individuals without LBP

    Evaluating the incidence of pathological complete response in current international rectal cancer practice: the barriers to widespread safe deferral of surgery

    Get PDF
    This is the peer reviewed version of the following article: , which has been published in final form at https://doi.org/10.1111/codi.14361. This article may be used for non-commercial purposes in accordance with Wiley Terms and Conditions for Use of Self-Archived Versions."Colorectal Disease © 2018 The Association of Coloproctology of Great Britain and Ireland Introduction: The mainstay of management for locally advanced rectal cancer is chemoradiotherapy followed by surgical resection. Following chemoradiotherapy, a complete response may be detected clinically and radiologically (cCR) prior to surgery or pathologically after surgery (pCR). We aim to report the overall complete pathological response (pCR) rate and the reliability of detecting a cCR by conventional pre-operative imaging. Methods: A pre-planned analysis of the European Society of Coloproctology (ESCP) 2017 audit was performed. Patients treated by elective rectal resection were included. A pCR was defined as a ypT0 N0 EMVI negative primary tumour; a partial response represented any regression from baseline staging following chemoradiotherapy. The primary endpoint was the pCR rate. The secondary endpoint was agreement between post-treatment MRI restaging (yMRI) and final pathological staging. Results: Of 2572 patients undergoing rectal cancer surgery in 277 participating centres across 44 countries, 673 (26.2%) underwent chemoradiotherapy and surgery. The pCR rate was 10.3% (67/649), with a partial response in 35.9% (233/649) patients. Comparison of AJCC stage determined by post-treatment yMRI with final pathology showed understaging in 13% (55/429) and overstaging in 34% (148/429). Agreement between yMRI and final pathology for T-stage, N-stage, or AJCC status were each graded as ‘fair’ only (n = 429, Kappa 0.25, 0.26 and 0.35 respectively). Conclusion: The reported pCR rate of 10% highlights the potential for non-operative management in selected cases. The limited strength of agreement between basic conventional post-chemoradiotherapy imaging assessment techniques and pathology suggest alternative markers of response should be considered, in the context of controlled clinical trials
    corecore